import request from '@/utils/request'

// 查询MBTI测试记录列表
export function listTestRecord(query) {
  return request({
    url: '/mbti/testRecord/list',
    method: 'get',
    params: query
  })
}

// 查询MBTI测试记录详细
export function getTestRecord(recordId) {
  return request({
    url: '/mbti/testRecord/' + recordId,
    method: 'get'
  })
}

// 获取测试记录详情（包含答题记录和结果）
export function getTestRecordDetail(recordId) {
  return request({
    url: '/mbti/testRecord/detail/' + recordId,
    method: 'get'
  })
}

// 获取用户测试历史
export function getUserTestHistory(userId) {
  return request({
    url: '/mbti/testRecord/history/' + userId,
    method: 'get'
  })
}

// 新增MBTI测试记录
export function addTestRecord(data) {
  return request({
    url: '/mbti/testRecord',
    method: 'post',
    data: data
  })
}

// 修改MBTI测试记录
export function updateTestRecord(data) {
  return request({
    url: '/mbti/testRecord',
    method: 'put',
    data: data
  })
}

// 删除MBTI测试记录
export function delTestRecord(recordId) {
  return request({
    url: '/mbti/testRecord/' + recordId,
    method: 'delete'
  })
}

// 批量更新测试记录状态
export function batchUpdateStatus(recordIds, status) {
  return request({
    url: '/mbti/testRecord/batchUpdateStatus',
    method: 'put',
    params: {
      recordIds: recordIds,
      status: status
    }
  })
}

// 获取测试记录统计信息
export function getTestRecordStatistics(params) {
  return request({
    url: '/mbti/testRecord/statistics',
    method: 'get',
    params: params
  })
}

// 获取测试完成度统计
export function getCompletionStats() {
  return request({
    url: '/mbti/testRecord/completionStats',
    method: 'get'
  })
}

// 获取人格类型分布统计
export function getPersonalityDistribution(params) {
  return request({
    url: '/mbti/testRecord/personalityDistribution',
    method: 'get',
    params: params
  })
}

// 重新计算测试结果
export function recalculateResult(recordId) {
  return request({
    url: '/mbti/testRecord/recalculate/' + recordId,
    method: 'post'
  })
}

// 导出测试记录
export function exportTestRecord(query) {
  return request({
    url: '/mbti/testRecord/export',
    method: 'post',
    data: query
  })
}
